from pydantic import BaseModel
from typing import List, Optional
from datetime import date

class MovieBase(BaseModel):
    id: str
    title: str
    director: str
    actors: List[str]
    genres: List[str]
    rating: float
    poster_url: str
    release_date: Optional[date] = None

class MovieResponse(MovieBase):
    summary: str
    votes: int

class MovieRecommendation(MovieBase):
    similarity_score: float 